package main

import (
	"github.com/EndlessCheng/codeforces-go/main/testutil"
	"testing"
)

// https://codeforces.com/contest/1107/problem/D
// https://codeforces.com/problemset/status/1107/problem/D
func TestCF1107D(t *testing.T) {
	// just copy from website
	rawText := `
inputCopy
8
E7
E7
E7
00
00
E7
E7
E7
outputCopy
1
inputCopy
4
7
F
F
F
outputCopy
1
inputCopy
4
4 0 0 4
outputCopy
1
inputCopy
68
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000001
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
        	            	00000000000000000
outputCopy
1
inputCopy
128
        	            	00000000000000000010000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
        	            	00000000000000000000000000000000
outputCopy
1`
	testutil.AssertEqualCase(t, rawText, -1, CF1107D)
}

//func TestCompare(t *testing.T) {
//	//return
//	testutil.DebugTLE = 0
//
//	inputGenerator := func() string {
//		//return ``
//		rg := testutil.NewRandGenerator()
//		n := rg.IntOnly(1,100)
//		rg.Int(n*4, n*4)
//		rg.NewLine()
//		ii := rg.IntOnly(0, n*4)
//		for i := 0; i < n*4; i++ {
//			rg.StrInSet(n, n, "0", i == ii)
//			rg.NewLine()
//		}
//		return rg.String()
//	}
//
//	// 暴力算法
//	runBF := func(in io.Reader, out io.Writer) {
//		var n int
//		var s string
//		Fscan(in, &n)
//		a := make([][]byte, n)
//		for i := range a {
//			Fscan(in, &s)
//			a[i] = make([]byte, 0, n)
//			for _, b := range s {
//				if b < 'A' {
//					b -= '0'
//				} else {
//					b -= 'A' - 10
//				}
//				a[i] = append(a[i], byte(b>>3&1), byte(b>>2&1), byte(b>>1&1), byte(b&1))
//			}
//		}
//		f := func(d int) bool {
//			for i, r := range a {
//				for j, b := range r {
//					if b != a[i-i%d][j-j%d] {
//						return false
//					}
//				}
//			}
//			return true
//		}
//		ans := 0
//		for d := 1; d*d <= n; d++ {
//			if n%d == 0 {
//				if d*d < n && f(n/d) {
//					ans = n / d
//					break
//				}
//				if f(d) {
//					ans = d
//				}
//			}
//		}
//		Fprint(out, ans)
//	}
//
//	// 先用 runBF 跑下样例，检查 runBF 是否正确
//	//	tc := [][2]string{
//	//		{
//	//			`8
//	//E7
//	//E7
//	//E7
//	//00
//	//00
//	//E7
//	//E7
//	//E7
//	//`,
//	//			`1
//	//`,
//	//		},
//	//		{
//	//			`4
//	//7
//	//F
//	//F
//	//F
//	//`,
//	//			`1`,
//	//		},
//	//	}
//	//	testutil.AssertEqualStringCase(t, tc, 0, runBF)
//	//	return
//
//	testutil.AssertEqualRunResultsInf(t, inputGenerator, runBF, CF1107D)
//	return
//
//	// for hacking, write wrong codes in runBF
//	testutil.AssertEqualRunResultsInf(t, inputGenerator, CF1107D, runBF)
//}
